在談到數據分析,就不得不提到OLAP這個概念,Online Analytical Processing,屬於商業智慧的範疇之一,通過OLAP的系統,來進行資料擷取、整合、抽取等等的工作。在以往地端上的做法,便是建立一套屬於自己的資料倉儲,但是這樣的作法往往耗時耗力,同時擴展性上也受到限制,可能跑個購買地端設備的單子就要跑一到兩個月,不符合資料快速擴展的要求。
那遇到這樣的問題,該如何解決呢?
雲原生數據倉庫(AnalyticDB)
沒錯!就是使用雲原生的數據倉庫(AnalyticDB),透過採用雲原生技術架構,實現了儲存與計算分開,並且能夠隨時動態的擴展與消減。使用者們可以藉由阿里雲 - AnalyticDB來及時應付數據存儲和分析的彈性需求。
另外值得一提的是,自2012年上線至今,阿里的AnalyticDB已經累計發布了近百個版本!此外,阿里巴巴目前在電商、廣告、娛樂等等其他產業的資料分析,幾乎都是使用Analytic DB來做服務。
那麼究竟AnalyticDB的特點到底是什麼呢?AnalyticDB阿里自主研發,並且有經過大規模驗證的 PB 級及時數據倉儲。可以在資料集上執行高併發、低延遲、實時分析查詢的OLAP型資料庫。
以下筆者列出幾項特點:
雲原生彈性:採用雲原生技術架構,實現儲存資源與計算資源分開,並搭配動態擴展與縮減,以應對企業上突發性的彈性需求。
高可用性:讀寫分離的架構讓AnalyticDB得以自動故障檢測、摘除和重搭副本、秒級災難恢復,同時還支持副本儲存、全量和增量備份。
高效性能:維持所有列的索引,用以快速檢索資料;採用RAFT協議來支持大規模的實時數據寫入;使用行列混合儲存來對OLAP分析和行級查詢快速響應。
產品架構圖:
接下來就讓我們看看Analytic DB的架構圖,並且筆者會一一分析這樣的架構。
儲存資源:主要仰賴於二個基於阿里雲Apsara底層主機的外部結構
計算資源:對外提供JDBC(Java Database Connectivity)介面來進行資料庫操作,內部則是透過多個控制節點(Coordinator)來管理各自的寫節點和讀節點
大概了解了Analytic DB的架構後,接下來就談談有哪種規格吧!
依照資料庫類型可以分為MySQL、PostgreSQL兩種規格,其中又各自有兩種版本。
首先介紹MySQL版本:
筆者透過圖表的方式整理出兩者的特點:
兩者的計費方式和基本架構都不大一樣,比如:
聊完MySQL版本,就來看看屬於PostgreSQL的兩個版本吧!
了解有什麼版本後,接下來就來看看有哪些場景適合使用:
使用的情境當然不只以上四個場景,只要是資料分析ETL的流程中,都可以使用到這項服務,減輕使用者的成本與時間耗費。
那下一篇,將會帶各位實際進行AnalyticDB的操作,看看這樣的服務究竟怎麼使用吧!